Information management applications provide users with effective and convenient ways to communicate with others and manage their information. Examples of information management applications include but are not limited to email applications and calendar applications. Some information management applications integrate these various types of applications by way of modules, such as email, calendar, contact, and task modules, although each type of application or functionality may also be provided in a stand-alone manner Microsoft® Outlook® is one example of an information management application.
While many information management applications are provided as locally installed and executed applications, many can be experienced in a wide variety of ways. For example, some information management applications are available as web-based applications that are experienced through a browser application, as mobile applications customized for mobile environments, or even as a mobile web-based application generally developed for a mobile browser experience. In addition, information management applications can be experienced on a wide variety of computing devices, such as desktop, laptop, or tablet computers, mobile phones, gaming systems, Internet appliances, or any other physical or virtual computing system, variation, or combination thereof.
In some scenarios, an information management application is first loaded into an execution environment, such as a web browser running on a computing device, before a user can begin to interact with it. In some cases an entire module, such as an email or calendar module, must be loaded before any of its components can be used. In other cases all of the modules must be loaded before any module or component can be used.
For example, a web-based version of an information management application may be invoked, triggering the loading of its components within a browser or other similar environment. A splash screen or other delay feature may be presented that keeps a user from interacting with the application until all of its components or modules are loaded. This degrades the user experience in general and can lead to some operational errors if the loading process is compromised or inhibited in some manner.
One benefit of loading all of the components of an application into an execution environment is that, once all of the components are loaded, interaction with any given aspect of the application may be fast and responsive. For example, a user may click on a contact from within a view of an email. In response to selecting the contact, a contact card can be displayed that includes information about the contact and various elements that can be selected to access various features and functionality. By loading all of the components associated with the elements in the contact card without restraint, the features and functionality can be experienced without significant delay. But as mentioned above, such a technique can degrade the user experience with respect to the application.
Overview
Provided herein are systems, methods, and software for implementing information management applications in which an initial set of components in an application are identified for loading prior to other components based at least in part on user interaction with the application. In this manner, specific aspects of an application can be loaded before others that may be less relevant to a user, thereby enhancing the user experience.
In at least one implementation, an information management application interfaces with an information exchange service and, upon starting, communicates a request to the information exchange service to identify an initial subset of various components based at least in part on user interaction with the information management application. In response to the information exchange service identifying the initial subset of components, the information management application loads the initial subset of components into an execution environment. In some implementations, the execution environment comprises a browser.
This Overview is provided to introduce a selection of concepts in a simplified form that are further described below in the Technical Disclosure. It should be understood that this Overview is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.